-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added PCIe transaction check for all peripherals on the bus #331
Added PCIe transaction check for all peripherals on the bus #331
Conversation
This is to determine if there are any unreachable devices on the PCIe bus. The gold list of PCI peripherals is a static file that varies depending on the platform. BDF information is parsed from this YAML file. Transcations are then carried out to determine the health of each peripheral.
Modified cmd to be executed to setpci (does pci transaction) Added exception handling
@assrinivasan can you remove the ADO link. its not accessible for public |
My apologies -- done. |
Added specific check for ASIC missing to differentiate from device mismatch Added yaml support
@prgeor added testing details, please take a look when convenient. Thanks. |
@assrinivasan code coverage is not met |
@assrinivasan please fix the test failure |
@prgeor added unit tests |
* Added PCIe transaction check for all peripherals on the bus This is to determine if there are any unreachable devices on the PCIe bus. The gold list of PCI peripherals is a static file that varies depending on the platform. BDF information is parsed from this YAML file. Transcations are then carried out to determine the health of each peripheral. * Modified code to read pcie devices from the pre-configured YAML file Modified cmd to be executed to setpci (does pci transaction) Added exception handling * Formalized syslog error messages Added specific check for ASIC missing to differentiate from device mismatch Added yaml support * Made changes to the way setpci command is called per SA review comments * Added comments per prgeor review comments * Added relevant comments per prgeor review comments * Fixed a bug that was causing UnboundLocalError. * Added unit tests for the check_pcie_devices method
This is a feature. Should not be back ported into feature branches. |
…onic-net#331)" This reverts commit d73808c.
* Revert "Fixes for the issues uncovered by sonic-pcied unit tests (#389)" This reverts commit 76baca3. * Revert "Added PCIe transaction check for all peripherals on the bus (#331)" This reverts commit d73808c. * Fixes for the issues uncovered by sonic-pcied unit tests (#389) * Fixes for the following issues: - Lack of getKeys() impl in mock swsscommon table class in sonic-pcied - Fixed a 'set' bug in pcied that was uncovered by new code flows * Removed mocked table instances per prgeor review comments
* Revert "Fixes for the issues uncovered by sonic-pcied unit tests (sonic-net#389)" This reverts commit 76baca3. * Revert "Added PCIe transaction check for all peripherals on the bus (sonic-net#331)" This reverts commit d73808c. * Fixes for the issues uncovered by sonic-pcied unit tests (sonic-net#389) * Fixes for the following issues: - Lack of getKeys() impl in mock swsscommon table class in sonic-pcied - Fixed a 'set' bug in pcied that was uncovered by new code flows * Removed mocked table instances per prgeor review comments
Description
MSFT ADO: 14671564
Added code to carry out PCI transactions with all the peripherals on the device. This is to determine if there are any unreachable devices on the PCIe bus. The gold list of PCI peripherals is a static file that varies depending on the platform. BDF information is parsed from this YAML file. Transactions are then carried out to determine the health of each peripheral.
Motivation and Context
Fixes: Generate syslog alert for missing PCIe devices
How Has This Been Tested?
Manually disabled a PCI peripheral and verified that the code changes were able to pick it up:
Additional Information (Optional)